import * as React from 'react'; import { CheckboxField, SelectField, SelectFieldProps, TextField, Flex, } from '@aws-amplify/ui-react'; export interface SelectFieldPropControlsProps extends SelectFieldProps { setDescriptiveText: ( value: React.SetStateAction ) => void; setErrorMessage: ( value: React.SetStateAction ) => void; setHasError: ( value: React.SetStateAction ) => void; setIsDisabled: ( value: React.SetStateAction ) => void; setLabel: (value: React.SetStateAction) => void; setLabelHidden: ( value: React.SetStateAction ) => void; setSize: (value: React.SetStateAction) => void; setVariation: ( value: React.SetStateAction ) => void; } interface SelectFieldPropControlsInterface { (props: SelectFieldPropControlsProps): JSX.Element; } export const SelectFieldPropControls: SelectFieldPropControlsInterface = ({ descriptiveText, errorMessage, hasError, isDisabled, label, labelHidden, size, variation, setDescriptiveText, setErrorMessage, setHasError, setIsDisabled, setLabel, setLabelHidden, setSize, setVariation, }) => { return ( setSize(event.target.value as SelectFieldProps['size']) } > setVariation(event.target.value as SelectFieldProps['variation']) } > setLabel(event.target.value as SelectFieldProps['label']) } /> setDescriptiveText( event.target.value as SelectFieldProps['descriptiveText'] ) } /> setErrorMessage( event.target.value as SelectFieldProps['errorMessage'] ) } /> { setLabelHidden( Boolean(event.target.checked) as SelectFieldProps['labelHidden'] ); }} label="labelHidden" /> { setHasError( Boolean(event.target.checked) as SelectFieldProps['hasError'] ); }} label="hasError" /> { setIsDisabled( Boolean(event.target.checked) as SelectFieldProps['isDisabled'] ); }} label="isDisabled" /> ); };